/* $Id: VBoxMPGaUtils.h $ */
/** @file
 * VirtualBox Windows Guest Mesa3D - Gallium driver miscellaneous helpers and common includes.
 */

/*
 * Copyright (C) 2017-2020 Oracle Corporation
 *
 * This file is part of VirtualBox Open Source Edition (OSE), as
 * available from http://www.virtualbox.org. This file is free software;
 * you can redistribute it and/or modify it under the terms of the GNU
 * General Public License (GPL) as published by the Free Software
 * Foundation, in version 2 as it comes in the "COPYING" file of the
 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
 */

#ifndef _WDDM_INCLUDE_GALLIUM_VBOXMPGAUTILS_H_
#define _WDDM_INCLUDE_GALLIUM_VBOXMPGAUTILS_H_

#include <ntddk.h>
#include "trace.h"

void *GaMemAlloc(UINT32 cbSize);
void *GaMemAllocZero(UINT32 cbSize);
void GaMemFree(void *pvMem);
NTSTATUS GaIdAlloc(UINT32 *pu32Bits, UINT32 cbBits, UINT32 u32Limit, UINT32 *pu32Id);
NTSTATUS GaIdFree(UINT32 *pu32Bits,
                  UINT32 cbBits,
                  UINT32 u32Limit,
                  UINT32 u32Id);

#endif
